File Fun (manipulation de fichier)Ce script montre comment ouvrir des fichiers, ouvrir des projets, collecter les noms des compositions de la scène, demander à l'utilisateur d'indiquer où écrire un fichier, écrire dans un fichier texte et enregistrer le fichier texte. Il n'est utile que comme exemple de fonctionnement de chaque méthode et attribut. Il n'a pas d'utilité de production. // Premièrement, fermer tout projet éventuellement ouvert. if (app.project != null){ // 3 choix sont proposés : CloseOptions.DO_NOT_SAVE_CHANGES, // CloseOptions.PROMPT_TO_SAVE_CHANGES et CloseOptions.SAVE_CHANGES app.project.close(CloseOptions.DO_NOT_SAVE_CHANGES); } // Inviter l'utilisateur à choisir un fichier de projet : // Le premier argument est un message d'invite, le deuxième le type de fichier. var pfile = fileGetDialog("Sélectionner un fichier de projet à ouvrir", "EggP aep"); if (pfile == null){ alert("Aucun fichier de projet n'est sélectionné. Abandon de l'opération."); } else { // Ouvrir ce fichier. Il devient le projet en cours. var my_project = app.open( pfile ); // Créer un nom de fichier texte par défaut à partir du nom de fichier du projet. // Supprimer l'extension de fichier ".aep" (si elle est présente), puis ajouter //_compnames.txt. var default_text_filename; var suffix_index = pfile.name.lastIndexOf(".aep"); if (suffix_index != -1) { default_text_filename = pfile.name.substring(0,suffix_index); } else { default_text_filename = pfile.name; } default_text_filename += "_compnames.txt"; // Créer un autre objet de fichier pour le fichier qui va être écrit en sortie. // Le premier argument est le message d'invite, le deuxième un nom de fichier par défaut et le troisième //le type de fichier. var text_file = filePutDialog("Sélectionnez un fichier pour la sortie de vos résultats", default_text_filename, "TEXT txt"); if (text_file == null){ alert("Aucun fichier de sortie n'est sélectionné. Abandon de l'opération."); } else { // ouvre le fichier pour l'écriture. Le premier argument est le mode ("w" pour writing), // le deuxième argument est le type de fichier (pour mac uniquement), // le troisième argument est le créateur (mac uniquement, "????" n'est pas une app spécifique). text_file.open("w","TEXTE","????"); // Ecrire l'en-tête du fichier : text_file.writeln("Voici une liste de toutes les comps dans " + pfile.name); text_file.writeln(); for (var i = 1; i <= app.project.numItems; i++) { if (app.project.item(i) instanceof CompItem){ text_file.writeln(app.project.item(i).name); } } text_file.close(); alert("Terminé !"); } } |